The future of digital recording will be characterised by the preparation, presentation and archiving of added value data services, i.e. a recorder, like a DVR (Digital Video Recorder) for example, will store and handle additional information delivered by content providers like broadcasters or special services or even assembled by the user himself. Added value (metadata) is generated to give further information to the user. For example, added value may be a movie summary explaining the story, a listing of the actors etc. Also the provision of additional information facilitating navigation inside the movie constitutes added value. For example, a movie can be structured into sections, subsections etc. each having an individual title and possibly comprising further useful information.
For providing structural information and for transporting other metadata for multimedia objects like video or audio streams, an hierarchical data format is generally used. A well-known and widely accepted hierarchical data format is the extensible markup language XML. XML is a system for defining specialized markup languages that are used for transmitting formatted data. It is, therefore, also called a meta language, a language used for creating other specialized languages. XML data consists of text, which is organised in form of a plurality of descriptors. The text itself contains elements, attributes and content, i.e. the remaining text. Besides the use for multimedia objects, many other applications for XML are known.
It is to be expected that in the foreseeable future digital recorders will store quite a large amount of data in XML or another hierarchical data format in relational databases, since these databases are widely used and quite sophisticated. For storage the hierarchical data format has to be mapped to a relational database management system (RDBMS). Therefore, a method for mapping a hierarchical data format comprising descriptors to a relational database management system has been proposed in the co-pending European patent application 02017045.2. According to this method the descriptors are separated into portions of a common format, which are stored in relations in the relational database. The database model will be explained later on with reference to FIG. 4.
In XML a single document may contain elements and attributes that are defined for and used by multiple software modules. For such documents recognition and possible collisions have to be considered. The software modules need to recognize the elements and attributes, which they have to process, even if collisions occur when the same elements types or attribute names have been defined differently for another software module. This requires that the elements and attributes should have universal names with a scope extending beyond their containing document. For this purpose namespaces are used in XML. An XML namespace is a collection of names identified by a locator, i.e. a universal resource identifier (URI). For an unambiguous identification elements and attributes within the document are provided with a prefix. The prefix is separated from the element or attribute to which it refers by a separator, e.g. mw:author (prefix=“mw”, separator=“:”, element name=“author”). Before such a prefix may be used, it has to be defined in the XML document:    <Section xmlns:mw=“http://www.mw-homepage/mws-namespaces”>            <mw:author>Winter et al.</mw:author>            </Section>
In this example the namespace declaration is initiated by the tag “xmlns”, followed by the separator “:” and the URI “http://www.mw-homepage/mws-namespaces”. However, since the prefixes may be chosen freely by anybody, with only a small number of constraints, conflicting definitions are likely to occur:    <Section xmlns:mw=“http://www.mw-homepage/mws-namespaces”>            <mw:title>Namespaces</mw:section>            /Section>    <Chapter xmlns:mw=“http://www.another-mw-homepage/XML/ns”>            <mw:section>Section 1</mw:section>            </Chapter>
In the above example two different locators are used with the same prefix. If both definitions were stored in a database the data in the database would be inconsistent.